1. Field of the Invention
The present application relates, in general, to computer animation and, more particularly, to computer automation of providing convincing behavior for artificial intelligence (AI) characters in a computer game.
2. Description of the Related Technology
Animation systems present animated characters and objects in a three-dimensional virtual space. The virtual space is essentially a collection of mathematical models that define various objects, characters, scenery elements and the like that can interact with each other. The animated characters move by programmatic changes in various parameters of the mathematical models. The virtual space is rendered and presented on a display to a viewer or game player. It is desirable for characters to show awareness of other characters and objects in the virtual space. This is particularly difficult to implement for artificial intelligence (AI) characters that are partially or completely controlled algorithmically rather than by user input. AI characters will often have the ability to look at things, aim at things, and attack things in the three dimensional virtual space.
Artificial intelligence refers to techniques used in video games to produce the illusion of intelligence in the behavior of non-player characters (NPCs). AI encompasses a wide range of techniques from such fields as expert systems, finite state machines, rules-based production systems, decision trees, case-based reasoning, genetic algorithms, neural networks, fuzzy logic and the like. In general, any logic that is used to make a non-player character behave in a way that is responsive to game state, other characters and objects, and/or events in a game in a manner that enhances an illusion that the NPC is driven by intelligence can be considered artificial intelligence.
In conventional implementations, AI characters are programmed to move from one point to another in a game space, usually following a pre-defined path. Once the AI character reaches a predefined goal it will evaluate what its next goal is based upon the heuristics that drive the AI decision making. While conventional AI characters exhibit some degree of independence, the rigid path following and inability to continuously respond to changing game state and/or events can make the AI character's behavior predictable and non-intelligent. This is more apparent as a game or scene is played repeatedly and an AI character behaves the same way each time.